Computer operation of robots must be programmed by teaching them a cycle of operations and the positions and orientations in which the manipulator arm, which supports the tools for carrying out the desired operations and places them in the appropriate positions, carries out each operation. In view of the importance of teaching the robot in a precise manner and without excessive effort on the part of the operator, and further, of avoiding possible damages or danger resulting from unpredictable reactions of the robot, various methods have been developed in the art. One method involves guiding the robot indirectly by means of a pendant, which may comprise, e.g., three position control buttons and three orientation control buttons. Commands are given by means of the pendant and are fed into a computer to command movement of the arm by coordinate extrapolation and transformation. As soon as an operative position or orientation is reached, the position and orientation of the end of the robot arm in a coordinate system, which may be Cartesian or cylindrical, are memorized and become part of a program. The computer calculates a path between the points in the program. Instructions regarding the operations to be carried out at each point so defined and memorized, are separately given. Inventions of this kind are described, for instance, in U.S. Pat. Nos. 3,920,972 and 4,757,459.
Another method of teaching is the so-called "direct" teaching, in which the operator directly leads the end of the manipulator arm to the desired locations and the coordinates of said locations are memorized Direct teaching is described, for instance, in U.S. Pat. Nos. 5,051,675, 5,103,149 and. 5,363,475. U.S. Pat. No. 5,051,675 discloses a system in which the power lines for the electric motors driving the moving arm are cut off in the teaching mode. U.S. Pat. No. 5,103,149 discloses breaking means provided in the servo driver for breaking a current generated by the electric motor when the motor is rotated in response to the teaching operation, so as not to flow into the servo driver, to reduce the force which the instructor must use to move the robot arm during teaching. U.S. Pat. No. 5,363,474 discloses a system for controlling industrial robots which comprises sensor means for detecting the amount of external force applied from the forward end of the manipulator arm, means for controlling a driving force of said arm in accordance with the amount of external force detected by said sensor means, and emergency cut-off means for cutting off the supply of said driving force in an emergency.
All of the above systems, however, are not fully satisfactory. Either they do not reduce the force to be exerted by the instructor or reduce it only to an insufficient degree, and/or they render the servo system totally or partially inactive during teaching, which is undesirable and may even be dangerous, and/or they require complicated and expensive mechanisms. Further, generally they do not permit to position the robot arm with complete accuracy, so that the memorized coordinates are often inaccurate. This is due to the facts that: a) if the motors are left inactive, the operator must equilibrate by his own effort the arm and payload weights--if he discontinues this effort, the arms or the whole robot may collapse and thus cause a danger; b) the friction of the gears, and particularly the transition from static to dynamic friction, makes it more difficult to move the arms precisely.
This invention has the purpose of eliminating the defects of the prior art robot teaching methods and apparatus, and to provide a direct teaching method and apparatus that is simple, permits to reach the desired positions and orientations with absolute accuracy, does not require the introduction of complicated and/or expensive structural components in the robot, reduces the operator's effort and eliminates any possibility of danger to him.